Add reusable provision-meos composite action#42
Merged
estebanzimanyi merged 1 commit intoJul 10, 2026
Conversation
provision-meos derives the language-neutral MEOS artifacts from a single MobilityDB commit: it generates meos-idl.json via run.py and can also build and install libmeos with all families. The pytest workflow consumes the action, so any binding can obtain the catalog (and optionally libmeos) from one pinned commit with a single step.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
provision-meosis a reusable composite action that derives the language-neutral MEOS artifacts from a single MobilityDB commit. It is the shared keystone every binding (Java today, MEOS.js / PyMEOS / GoMEOS later) uses to obtain those artifacts from one pinned commit with a single step.From one
mobilitydb-refthe action:output/meos-idl.jsonviarun.py(parses the pinned MEOS headers with libclang; pointsMDB_SRC_ROOTat the same checkout so the@sqlfn/@ingroupmaps stay reproducibly equivalent to that commit), exposed as thecatalog-pathoutput;build-libmeos: "true") builds and installs libmeos with all families (-DALL=ONby default), exposed as thelibmeos-prefixoutput. This path mirrors the green all-families recipe: it purges the runner's preinstalled PostgreSQL and uses apt.postgresql.org PG17 so the vendored pgPointCloud build resolves clang-19.Because the whole MEOS-API repository is checked out at the action path when consumed cross-repo,
run.py,requirements.txt,parser/andmeta/all resolve at$GITHUB_ACTION_PATH/../../..for both the local dogfood here and cross-repo use.The
testsworkflow now consumes the action instead of the inline catalog steps:libmeos.sois installed, validating the whole action before any binding depends on it.run.py,requirements.txtand the tests are unchanged.